package com.hqu.environment.utils;

import com.hqu.environment.constant.Constant;
import org.springframework.web.multipart.MultipartFile;

import java.io.File;
import java.util.*;

/**
 * @Description: 工具类，一些常用的方法
 *
 * @Author:
 * @Date:2018/11/19 18:12
 * */
public class Util {

    /**
     * 随机生成6位数字验证码
     * @return String类的6位数字
     */
    public  static String createVerificationCode(){
        String varificationCode = String.valueOf(new Random().nextInt(899999) + 100000);
        return  varificationCode;
    }

    /**
     * 随机生成指定范围数字
     * @return String类的6位数字
     */
    public  static Integer getRandom(Integer min, Integer max){
        return new Random().nextInt(max-min)+min;
    }

    /**
     * 随机生成指定范围数字
     * @return String类的6位数字
     */
    public static double getRandom(double min, double max){
        return Math.random()*(max-min)+min;
    }

    /**
     * 图片名生成策略：当前时间加三位随机数
     *
     * @return str 图片名
     */
    public static String genImageName() {
        //取当前时间的长整形值包含毫秒
        long millis = System.currentTimeMillis();
        //加上三位随机数
        Random random = new Random();
        int end3 = random.nextInt(999);
        //如果不足三位前面补0
        String str = millis + String.format("%03d", end3);

        return str;
    }

    public static String uploadFile(MultipartFile multipartFile){
        //获取上传文件的地址
        String uploadFilePath= Constant.DEST;

        //获取文件名
        String itemName=multipartFile.getOriginalFilename();
        String fileType=itemName.substring(itemName.lastIndexOf("."),itemName.length());
        String name = genImageName()+fileType;
        File desFile = new File(uploadFilePath+name);
        if(!desFile.getParentFile().exists()){
            desFile.mkdirs();
        }
        try{
            multipartFile.transferTo(desFile);
        }catch(Exception e){
            e.printStackTrace();
        }
        return name;
    }

}